Git – log命令 | 您所在的位置:网站首页 › git log 命令 详解 › Git – log命令 |
版本控制系统的优势在于它记录了变化。这些记录使我们能够检索数据,如提交,弄清错误,更新。但是,如果我们不能浏览这些历史,所有这些历史都是无用的。在这一点上,我们需要git log命令。 Git 日志是一个实用工具,用于审查和阅读发生在仓库的一切历史。多个选项可以与git日志一起使用,使历史更加具体。 一般来说,git日志是对提交的记录。一个git日志包含以下数据。 提交哈希值,这是一个由SHA(安全哈希算法)算法生成的40个字符的检查和数据。它是一个唯一的数字。 提交作者元数据。作者的信息,如作者姓名和电子邮件。 提交日期元数据。这是一个提交时间的日期时间戳。 提交的标题/信息。这是在提交信息中给出的提交概述。 如何退出git log 命令可能会有这样的情况发生,你运行了git log命令,然后你就卡在那里了。你想输入或回到bash,但你不能。当你点击回车键时,它会将你导航到旧的命令,直到结束标志。 解决这个问题的方法是按q(Q代表退出)。它将使你从这种情况下退出,并使你回到命令行。现在,你可以执行任何一个命令。 Git log命令基础Git log 命令是 git 最常用的命令之一。它是Git最有用的命令。每次需要检查历史记录时,都要使用git log命令。基本的git log命令会显示最近的提交和头的状态。它将使用作为。 $ git log上述命令将显示最后一次提交的内容。请看下面的输出。 上面的命令列出了所有最近的提交。每个提交都包含一些唯一的sha-id,它是由SHA算法生成的。它还包括日期、时间、作者和一些其他细节。 我们可以在命令行上执行一些动作,如滚动、跳跃、移动和退出。要在命令行上滚动,按k可以向上移动,按j可以向下移动,按空格键可以向下滚动一整页,按q可以从命令行上退出。 Git Log Onelineoneline选项用来显示每行一个提交的输出。它也会显示简短的输出,如提交SHA的前七个字符和提交信息。 它的使用方法如下。 $ git log --oneline所以,通常我们可以说,–oneline标志会导致git log显示。 一行一个commit SHA的前七个字符 提交信息考虑下面的输出。 从上面的输出中我们可以更准确地看到,每次提交都只在一行中给出七位数的sha号和提交信息。 Git Log Stat日志命令显示被修改的文件。它还显示行数和已更新的总记录的摘要行。 一般来说,我们可以说统计选项是用来显示 修改的文件。 已添加或删除的行数 改变的记录总数的摘要行 被添加或删除的线条。它的使用方法如下。 $ git log --stat上述命令将显示被修改的文件。请看下面的输出。 从上面的输出中,我们可以看到所有列出的提交在版本库中都有修改。 Git log P 或者 Patchgit log patch 命令显示被修改的文件。它还显示添加、删除和更新的行的位置。 它将被用作。 $ git log --patch或者 $ git log -p一般来说,我们可以说,–补丁标志是用来显示的。 修改过的文件 你添加或删除的线条的位置 已经做出的具体改变。考虑下面的输出。 上面的输出显示的是修改过的文件和被添加或删除的行的位置。 Git Log GraphGit log 命令允许以图表形式查看您的 git 日志。要以图表的形式列出提交的内容,请运行带有 –graph 选项的 git log 命令。它的运行方式如下。 $ git log --graph为了使输出更加具体,你可以把这个命令和–oneline选项结合起来。它的操作方式如下。 $ git log --graph --oneline 筛选提交历史我们可以根据自己的需要来过滤输出。这是Git的一个独特功能。我们可以在输出中应用许多过滤器,如数量、日期、作者等等。每个过滤器都有其规格。它们可以用来实现对输出的一些导航操作。 让我们详细了解这些过滤器中的每一个。 通过数量过滤我们可以通过使用git log命令来限制输出提交的数量。这是最具体的命令。如果你对较少的提交感兴趣,这条命令将消除复杂性。 要限制git日志的输出,包括-选项。如果我们只想得到最后三次提交,那么我们可以在git log命令中传递参数-3。考虑一下下面的输出。 从上面的输出可以看出,我们可以限制git log的输出。 按日期和时间过滤我们可以通过日期和时间来过滤输出。我们必须通过--after或--before参数来指定日期。这两个参数都接受各种日期格式。它的运行方式如下。 $ git log --after="yy-mm-dd"上述命令将显示给定日期之后的所有提交。请看下面的输出。 上面的命令列出了 “2019-11-01 “之后的所有提交。 我们还可以传递适用的参考语句,如 “昨天”、”1周前”、”21天前 “等等。它将以如下方式运行 git log --after="21 days ago"上述命令将显示21天前的提交。请看下面的输出。 我们还可以跟踪两个日期之间的提交。要跟踪在两个日期之间创建的提交,可以通过语句引用–之前和–之后的日期。假设,我们想跟踪 “2019-11-01 “和 “2019-11-08 “之间的提交。我们将按如下方式运行命令。 $ git log --after="2019-11-01" --before="2019-11-08 "上述命令将显示日期之间的提交情况。请看下面的输出。 上面的输出显示的是给定时间段内的提交情况。我们可以用 –since 和 –until 来代替 –after 和 –before。因为它们分别是同义词。 通过作者过滤我们可以按特定用户过滤提交。假设我们想只列出某个特定团队成员的提交。我们可以使用 -author 标志,按作者姓名过滤提交内容。该命令接受一个正则表达式,并返回符合该模式的作者提交的列表。你可以使用确切的名字而不是模式。这条命令的运行方式如下。 $ git log --author="Author name"上述命令将显示指定作者所做的所有提交。请看下面的输出。 从上面的输出中,我们可以看到,作者ImDwivedi1的所有提交都被列出。 我们可以使用一个字符串,而不是正则表达式或确切的名称。考虑一下下面的语句。 $ git log --author="Stephen"上面的语句将显示所有作者包括Stephen这个名字的提交。作者的名字不需要完全匹配,只要有指定的短语即可。 我们知道,作者的电子邮件与作者的名字也有关系,因此我们可以用作者的电子邮件作为模式或精确搜索。假设,我们想追踪那些电子邮件服务为google的作者的提交。为此,我们可以使用”@gmail.com “这样的通配符。请考虑下面的语句。 $ git log -author="@gmail.com"上述命令将按模式中给出的作者显示提交的内容。请看下面的输出。 要通过提交信息来过滤提交内容。我们可以使用grep选项,它将和作者选项一样发挥作用。 它将按以下方式运行。 $ git log --grep=" Commit message."我们可以使用提交消息的简短形式,而不是完整的消息。请看下面的输出。 上面的输出显示的是所有在提交信息中包含commit字样的提交。 还有许多其他过滤选项,如我们可以按文件名、内容等进行过滤。 |
CopyRight 2018-2019 实验室设备网 版权所有 |